The invention relates generally to color image processing systems, and in particular to color image processing systems employing look-up tables for transforming from a first coordinate space to a second coordinate space.
Color image processing systems typically include an input device for generating an electronic representation of a color image. The input device provides the electronic image representation to a computer workstation which processes the image in accordance with a user's instructions and forwards the processed image to a high resolution color monitor for display. The user interacts with the workstation, repeatedly instructing it to adjust the electronic image until the monitor displays a desired image. The user can also generate a hard copy of the image by instructing the workstation to provide the processed electronic image to a selected printing device.
The electronic image processed by the workstation consists of a two dimensional array of picture elements (pixels). The color of each pixel may be represented in any of a variety of color notations or "color spaces." For example, the RGB color space represents pixel colors according to the relative contributions of three primary colors, red, green and blue. This color notation is commonly used by color monitors since the three parameters (R, G, B) correspond to the mechanism by which the monitor generates color. More specifically, each pixel of the monitor's display contains three primary color phosphors. To generate a color defined by a set of RGB values, the monitor stimulates each primary phosphor with an intensity determined by the corresponding R, G, B value.
Similarly, the CMYK color space represents color using four variables, C, M, Y, K, each corresponding to the relative (subtractive) contribution of the colorants, cyan, magenta, yellow and black. This notation is commonly used by printing devices since each parameter C,M,Y and K determines the amount of a colorant (e.g. ink, dye) used by the printer in producing a desired color.
Color spaces such as linear RGB and CMYK are useful for image scanning devices and image printing devices, respectively, since each parameter of the color space closely corresponds to a physical mechanism by which these devices measure and generate color. However, for a variety of reasons, these color spaces may not be well suited for processing color images. For example, as shown in FIG. 1, the three parameters R, G, B define a three dimensional, linear color space, each point within the space corresponding to a unique color. At various points within the space, a selected change in the values of the parameters may not result in a commensurate change in the perceived color. For example, at one location in the space, increasing the parameter R by n units yields little perceived change in color. Yet, at another point in the space, increasing R by the same n units yields a dramatic change in the perceived color. Accordingly, it may be difficult for a user to manipulate .the primaries R, G, B, to achieve a desired change in color.
In response to this problem, a variety of perceptually based color spaces have been proposed for defining color in terms of parameters which more closely correspond to the manner in which humans perceive color. The most prominent perceptually based standards for color representation are collectively referred to as the CIE system promulgated by the International Commission on Illumination.
The "u'v'L*" space, for example, is a three dimensional color space defined by the parameters u', v', L*. The chromaticity of each color in this space is uniformly characterized by the parameters u', v'. The third parameter, L*, denotes perceptually uniform variations in the lightness of the color, (e.g., L*=0 is black, L*=100 is white).
To process a color image in the "u'v'L*" color space, the workstation simply maps each point u'.sub.0, v'.sub.0, L*.sub.0 in the color space to a new point u'.sub.1, v'.sub.1, L*.sub.1. For example, if the user desires to display the image on a monitor, he may wish to adjust the colors of the image to compensate for lighting conditions of the room. Accordingly, the user selects a transform which maps each point u'.sub.0, v'.sub.0, L*.sub.0 to a new point having the same values u'.sub.0, v'.sub.0 but having greater luminance value L*.sub.1.
The image processing system typically contains a predetermined transform definition for each such color image transformation. Based on a selected definition, the system maps certain points of the color space to new points. Accordingly, the color at each pixel of an electronic image is sequentially mapped in accordance with the transform definition to yield the desired visual effect. To perform another image transformation, the system remaps the color values to yet another point in accordance with a second transform definition. Any number of transformations can thus be performed by sequentially mapping color values according to the available predetermined transform definitions. However, such sequential processing of images can be extremely time consuming, particularly if a large number of predetermined transforms are selected.
Therefore, one object of the present invention is to enable the user of an image processing system to dynamically create a single transform definition embodying a plurality of selected image transformations. A further object of the present invention is to build such a composite transform definition using the plurality of predetermined transform definitions. Yet a further object of the invention is to provide a new format definition for the transformation for easily defining the color processing requirements between hardware systems.